<template>
    <div class="f-header">
        <span class="logo">
            <el-icon class="mr-1">
                <SwitchFilled />
            </el-icon>
            VUE3后台系统
        </span>
        <el-tooltip effect="dark" content="菜单" placement="bottom">
            <el-icon class="icon-btn" @click="$store.commit('handleAsideWidth')">
                <Fold v-if="$store.state.asideWidth == '250px'"/>
                <Expand v-else />
            </el-icon>
        </el-tooltip>
        <el-tooltip effect="dark" content="刷新" placement="bottom">
            <el-icon class="icon-btn" @click="handelRefresh">
                <Refresh />
            </el-icon>
        </el-tooltip>
        <div class="ml-auto flex items-center">
            <el-tooltip effect="dark" content="全屏" placement="bottom">
                <el-icon class="icon-btn" @click="toggle">
                    <FullScreen v-if="!isFullscreen" />
                    <Aim v-else />
                </el-icon>
            </el-tooltip>
            <el-dropdown class="dropdown" @command="handleCommand">
                <span class="flex items-center">
                    <el-avatar :size="25" :src="$store.state.user.avatar" class="mr-2" />
                    {{ $store.state.user.username }}
                    <el-icon class="el-icon--right">
                        <arrow-down />
                    </el-icon>
                </span>
                <template #dropdown>
                    <el-dropdown-menu>
                        <el-dropdown-item command="rePassword">修改密码</el-dropdown-item>
                        <el-dropdown-item command="logout">退出登录</el-dropdown-item>
                    </el-dropdown-menu>
                </template>
            </el-dropdown>
        </div>
    </div>
    <form-drawer ref="formDrawerRef" title="修改密码" destroyOnClos @submit="onSubmit">
        <el-form :model="form" :rules="rules" ref="formRef" label-width="100px">
            <el-form-item prop="oldpassword" label="旧密码">
                <el-input v-model="form.oldpassword" placeholder="请输入旧密码">
                </el-input>
            </el-form-item>
            <el-form-item prop="password" label="新密码">
                <el-input v-model="form.password" placeholder="请输入新密码" show-password type="password">
                </el-input>
            </el-form-item>
            <el-form-item prop="repassword" label="确认密码">
                <el-input v-model="form.repassword" placeholder="确认密码" show-password type="password">
                </el-input>
            </el-form-item>
        </el-form>
    </form-drawer>

</template>

<script setup>
import { ref, reactive } from 'vue';
import FormDrawer from '../../components/FormDrawer.vue';
import { useFullscreen } from '@vueuse/core';
import { useRepassword,useLogout } from "~/composables/useManager"
import { useStore } from 'vuex';
const { isFullscreen, toggle } = useFullscreen();
const { formDrawerRef, form, rules, formRef, onSubmit, openRePasswordForm } = useRepassword();
const {handleLogout }  = useLogout();
const store = useStore();
const handleCommand = (c) => {
    switch (c) {
        case "logout":
            handleLogout();
            break;
        case "rePassword":
            openRePasswordForm();
            break;
    }
}
//刷新
const handelRefresh = () => location.reload();



</script>

<style>
.f-header {
    @apply flex bg-indigo-700 text-light-50 fixed top-0 left-0 right-0 items-center;
    height: 64px;
    z-index: 1000;
}

.logo {
    width: 250px;
    @apply flex justify-center items-center text-2xl;
}

.icon-btn {
    @apply flex justify-center items-center;
    width: 42px;
    height: 64px;
    cursor: pointer;
}

.icon-btn:hover {
    @apply bg-indigo-500;
}

.f-header .dropdown {
    @apply flex justify-center items-center text-light-50 mr-10;
    height: 64px;
    cursor: pointer;
}
</style>
